package com.mdd.common.entity.system;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 优惠券实体
 * @author panweiliang
 */
@Data
public class Coupon implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value="id", type= IdType.AUTO)
    private Integer id; // 
    private String title; // 优惠券标题
    private String icon; // 图片
    private Integer used; // 1：全场可用；2：指定课程可用；3：指定课程不可用
    private Integer type; // 1：满减券；2：叠加满减券；3：无门槛券（需要限制大小）
    private Integer receivingMethod; // 1：用户领取；2：系统赠送
    private BigDecimal fullAmount; // 满多少金额
    private BigDecimal amount; // 券额
    private Short isQuota;
    private Integer quota; // 配额：发券数量
    private Integer takeType; // 1：不限制；2:用户只能领n张；3用户每天只能领n张
    private Integer takeQuota; // 配额：领取数量
    private Integer takeCount; // 已领取的优惠券数量
    private Integer usedCount; // 已使用的优惠券数量
    private Long startTime; // 发放开始时间
    private Long endTime; // 发放结束时间
    private Integer validType; // 时效:1：绝对时效（领取后XXX-XXX时间段有效）；2：相对时效（领取后当天起N天有效）；3：相对时效（领取后次日起N天有效）
    private Long validStartTime; // 使用开始时间，结合vaild_type使用
    private Long validEndTime; // 使用开始时间，结合vaild_type使用
    private Integer validDays; // 自领取之日起有效天数
    private Integer status; // 1：未开始；2：进行中；3：已结束;
    private Integer autoGrant; //0:非自动；1：自动
    private Long createTime; // 
    private Long updateTime; // 
    private Long deleteTime; // 

}